Correctness-Preserving Translation from Spi Calculus to Java, Revision 3
نویسندگان
چکیده
Spi Calculus is an untyped high level modeling language for security protocols, used for formal protocols specification and verification. In this paper, a type system for the Spi Calculus and a translation function are formally defined, in order to formalize the refinement of a Spi Calculus specification into a Java implementation. Since the generated Java implementation uses a custom Java library, formal conditions on the custom Java library are also stated, so that, if the library implementation code satisfies such conditions, then the generated Java implementation correctly simulates the Spi Calculus specification. A verified implementation of part of the custom library is further presented.
منابع مشابه
Provably correct Java implementations of Spi Calculus security protocols specifications
Spi Calculus is an untyped high level modeling language for security protocols, used for formal protocols specification and verification. In this paper, a type system for the Spi Calculus and a translation function are formally defined, in order to formalize the refinement of a Spi Calculus specification into a Java implementation. The Java implementation generated by the translation function u...
متن کاملSpi Calculus Translated to π-Calculus Preserving May-Testing
We present a concise and natural encoding of the spicalculus into the more basic π-calculus and establish its correctness with respect to a formal notion of testing. This is particularly relevant for security protocols modelled in spi since the tests can be viewed as adversaries. The translation has been implemented in a prototype tool. As a consequence, protocols can be described in the spi ca...
متن کاملSpi Calculus Translated to ?--Calculus Preserving May-Tests
We present a concise and natural encoding of the spicalculus into the more basic π-calculus and establish its correctness with respect to a formal notion of testing. This is particularly relevant for security protocols modelled in spi since the tests can be viewed as adversaries. The translation has been implemented in a prototype tool. As a consequence, protocols can be described in the spi ca...
متن کاملOn the Development and Formalization of an Extensible Code Generator for Real Life Security Protocols
This paper introduces Expi2Java, a new code generator for cryptographic protocols that translates models written in an extensible variant of the Spi calculus into executable code in a substantial fragment of Java, featuring concurrency, synchronization between threads, exception handling and a sophisticated type system with generics and wildcards. Our code generator is highly extensible and cus...
متن کاملTranslating SBML Models into the Stochastic pi-Calculus for Stochastic Simulation
This paper addresses the translation of Systems Biology MarkUp Language (SBML) Level 2 models of network of biochemical reactions to the Biochemical Stochastic π-calculus (SPI). SBML is XML-based formalism for systems biology, while SPI can describe the concurrency of the different interactions occurring in a network of biochemical stochastic reactions. SPI models can be used for simulation by ...
متن کامل